let trendChart; // 存储图表实例的全局变量

export function init(){
    // 这里可以添加图表初始化和交互逻辑
// 时间范围选择器切换
    document.getElementById('time-range').addEventListener('change', function() {
        const customDateRange = document.getElementById('custom-date-range');
        if (this.value === 'custom') {
            customDateRange.style.display = 'flex';
        } else {
            customDateRange.style.display = 'none';
        }
    });

// 图表类型切换按钮
    const chartTypeButtons = document.querySelectorAll('.btn-chart-action');
    chartTypeButtons.forEach(button => {
        button.addEventListener('click', function() {
            chartTypeButtons.forEach(btn => btn.classList.remove('active'));
            this.classList.add('active');
            // 这里可以添加切换图表类型的逻辑
            if(this.dataset.type === 'line'){
                createLineChart();
            }else{
                createBarChart();
            }
        });
    });
// 初始化图表
    initCharts();

}


function initCharts() {
    // 这里使用Chart.js初始化图表
    // 实际项目中需要替换为真实数据
    const trendCtx = document.getElementById('trendChart').getContext('2d');
    const typeCtx = document.getElementById('typeChart').getContext('2d');
    const deptCtx = document.getElementById('departmentChart').getContext('2d');

    // 示例数据 - 实际项目中应从API获取
    trendChart =  new Chart(trendCtx, {
        type: 'line',
        data: {
            labels: ['6月1日', '6月2日', '6月3日', '6月4日', '6月5日', '6月6日', '6月7日'],
            datasets: [{
                label: '新增公文数',
                data: [12, 19, 15, 8, 10, 14, 17],
                borderColor: '#1a5fb4',
                backgroundColor: 'rgba(26, 95, 180, 0.1)',
                tension: 0.3,
                fill: true
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    position: 'top',
                }
            }
        }
    });

    new Chart(typeCtx, {
        type: 'doughnut',
        data: {
            labels: ['通知', '报告', '请示', '批复', '决定', '其他'],
            datasets: [{
                data: [35, 25, 15, 10, 8, 7],
                backgroundColor: [
                    '#1a5fb4',
                    '#26a269',
                    '#e66100',
                    '#813d9c',
                    '#c64600',
                    '#5e5c64'
                ]
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    position: 'right',
                }
            }
        }
    });

    new Chart(deptCtx, {
        type: 'bar',
        data: {
            labels: ['区政府办', '区发改委', '区教育局', '区财政局', '区人社局', '区住建局', '区卫健委', '区市场监管局', '区交通局', '区农业农村局'],
            datasets: [{
                label: '发文数量',
                data: [120, 95, 78, 65, 60, 55, 50, 45, 40, 35],
                backgroundColor: '#1a5fb4'
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            indexAxis: 'y',
            plugins: {
                legend: {
                    display: false
                }
            }
        }
    });

    // 词云图初始化 - 实际项目中需要使用专门的库如wordcloud2.js
    // 这里只是占位，实际实现需要引入相应库
}

// 创建折线图
function createLineChart() {
    const trendCtx = document.getElementById('trendChart').getContext('2d');

    // 如果已有图表实例，先销毁
    if (trendChart) {
        trendChart.destroy();
    }

    trendChart = new Chart(trendCtx, {
        type: 'line',
        data: {
            labels: ['6月1日', '6月2日', '6月3日', '6月4日', '6月5日', '6月6日', '6月7日'],
            datasets: [{
                label: '新增公文数',
                data: [12, 19, 15, 8, 10, 14, 17],
                borderColor: '#1a5fb4',
                backgroundColor: 'rgba(26, 95, 180, 0.1)',
                tension: 0.3,
                fill: true
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    position: 'top',
                }
            }
        }
    });
}

// 创建柱状图
function createBarChart() {
    const trendCtx = document.getElementById('trendChart').getContext('2d');

    // 如果已有图表实例，先销毁
    if (trendChart) {
        trendChart.destroy();
    }

    trendChart = new Chart(trendCtx, {
        type: 'bar',
        data: {
            labels: ['6月1日', '6月2日', '6月3日', '6月4日', '6月5日', '6月6日', '6月7日'],
            datasets: [{
                label: '新增公文数',
                data: [12, 19, 15, 8, 10, 14, 17],
                backgroundColor: '#1a5fb4',
                borderColor: '#1a5fb4',
                borderWidth: 1
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    position: 'top',
                }
            },
            scales: {
                y: {
                    beginAtZero: true
                }
            }
        }
    });
}